\chapter*{\begin{center}Приложение А. JPQL-скрипты\end{center}}
\addcontentsline{toc}{chapter}{\tocsecindent{Приложение А. JPQL-скрипты}}
Для Entity-классов введены так называемые <<именованные запросы>>, написанные на языке JPQL (Java Persistence Query Language). Приведем примеры именованных запросов для группы сущностей Person (для тех классов, где они есть).
\begin{enumerate}
\item Сущность: PersonType
	\begin{itemize}
	\item findPersonTypes: \begin{verbatim}SELECT object(pt) FROM PersonType pt\end{verbatim}
	\item findPersonTypeByName: \begin{verbatim}SELECT object(pt) FROM PersonType pt WHERE pt.name LIKE :typeName\end{verbatim}
	\item findPersonTypeByParent: \begin{verbatim}SELECT object(pt) FROM PersonType pt WHERE pt.parent.id LIKE :parentId\end{verbatim}
	\end{itemize}
\item Сущность: PersonAttribute
	\begin{itemize}
	\item findPersonAttributes: \begin{verbatim}SELECT object(pa) FROM PersonAttribute pa\end{verbatim}
	\item findPersonAttributeByName: \begin{verbatim}SELECT object(pa) FROM PersonAttribute pa WHERE name = :attrName\end{verbatim}
	\end{itemize}
\item Сущность: Person
	\begin{itemize}
	\item findPersonByName: \begin{verbatim}SELECT object(p) FROM Person as p WHERE p.name LIKE :personName\end{verbatim}
	\item findAllPersons: \begin{verbatim}SELECT object(p) FROM Person as p\end{verbatim}
	\end{itemize}
\end{enumerate}
Для остальных сущностей JPQL-скрипты аналогичны.

\chapter*{\begin{center}Приложение Б. Пример Entity-классов\end{center}}
\addcontentsline{toc}{chapter}{\tocsecindent{Приложение Б. Пример Entity-классов}}
Приведем примеры Entity-классов для сущности Person.
\begin{enumerate}
\item PersonType
\lstinputlisting[language=Java]{source/PersonType.java}
\item PersonAttribute
\lstinputlisting[language=Java]{source/PersonAttribute.java}
\item Person
\lstinputlisting[language=Java]{source/PersonAttribute.java}
\item PersonParameter
\lstinputlisting[language=Java]{source/PersonAttribute.java}
\end{enumerate}

\chapter*{\begin{center}Приложение В. Пример Session-бина\end{center}}
\addcontentsline{toc}{chapter}{\tocsecindent{Приложение В. Пример Session-бина}}
Приведем простой пример Session-бина для выборки возможных типов атрибутов из базы. Local-интерфейс:
\lstinputlisting[language=Java]{source/UniFacadeLocal.java}
Сам бин:
\lstinputlisting[language=Java]{source/UniFacade.java}

\chapter*{\begin{center}Приложение Г. Пример конвертера\end{center}}
\addcontentsline{toc}{chapter}{\tocsecindent{Приложение Г. Пример конвертера}}
При прозрачной вставке объектов в jsf-страницы и из нее удобно использовать конвертеры. Пример конвертера для для типов атрибутов
\lstinputlisting[language=Java]{source/AttributeTypeConverter.java}

\chapter*{\begin{center}Приложение Д. Дескрипторы развертывания и конфигурационные файлы\end{center}}
\addcontentsline{toc}{chapter}{\tocsecindent{Приложение Д. Дескрипторы развертывания}}
\begin{enumerate}
\item Модуль персистентности persistence.xml
\lstinputlisting[language=XML]{source/persistence.xml}
\item Источник данных jboss-ds.xml
\lstinputlisting[language=XML]{source/jboss-ds.xml}
\item Общий дескриптор развертывания web-приложения web.xml
\lstinputlisting[language=XML]{source/web.xml}
\item Специальный дескриптор развертывания web-приложения jboss-web.xml
\lstinputlisting[language=XML]{source/jboss-web.xml}
% \item Файл конфигурации JSF faces-config.xml
% \lstinputlisting[language=XML]{source/faces-config.xml}
\end{enumerate}

